package org.groupg.practice;

import okio.BufferedSink;
import okio.Okio;
import okio.Sink;
import java.io.File;
import java.io.IOException;

public class OkioWriteExample {
    public static void main(String[] args) {
        File file = new File("example.txt");
        try {
            // 1. 获取 Sink 对象
            Sink sink = Okio.sink(file);
            // 2. 包装成 BufferedSink 以获得缓冲功能，提升写入效率:cite[1]:cite[7]
            BufferedSink bufferedSink = Okio.buffer(sink);

            // 3. 写入数据：支持多种数据类型:cite[1]:cite[6]
            bufferedSink.writeUtf8("Hello, Okio!\n"); // 写入字符串
            bufferedSink.writeInt(42); // 写入整数
            bufferedSink.writeByte(0x0A); // 写入字节（换行符）

            // 4. 关闭流，确保资源释放
            // BufferedSink 的 close 方法也会关闭其包装的底层 Sink:cite[1]
            bufferedSink.close();

            System.out.println("数据写入成功！");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}